/**
 *
 * @author T-Complement
 */

package iuTaxSimula;

import java.util.ArrayList;
import java.util.Calendar;
import mnTaxSimula.*;


public class AsignarServicio {

    private CentralComunicaciones centralComunicaciones;
    private Simulacion simulacion;
    private Usuario usuario;
    private PantallaTaxi pantallaTaxi;
    private PantallaAsignacion pantallaAsignacion;
    private ArrayList <PlacasServicios> taxiscercanos;

    public AsignarServicio(CentralComunicaciones centralComunicaciones, Simulacion simulacion, Usuario usuario) {
        this.centralComunicaciones = centralComunicaciones;
        this.simulacion = simulacion;
        this.usuario = usuario;
    }

   /* public void asignarServicio (){
        Calendar hora;
        String placa;
        hora = simulacion.gethora();
        pantallaAsignacion = new PantallaAsignacion();
        taxiscercanos = centralComunicaciones.buscarTaxisParaServicio(usuario.getCalle(), usuario.getCarrera(), hora);
        placa = solicitarAceptacionTaxi(usuario.getCalle(), usuario.getCarrera(), taxiscercanos, usuario.getTelefono(), hora);
        pantallaAsignacion.mostrarAsignacion(usuario.getTelefono(), placa);
    }

    private String solicitarAceptacionTaxi(int calle, int carrera, ArrayList<PlacasServicios> taxiscercanos, String telefono, Calendar hora){
        String placa = null;
        pantallaTaxi = new PantallaTaxi();
        int i = 0;
        while(i < taxiscercanos.size()){
            placa = taxiscercanos.get(i).getPlaca();
            pantallaTaxi.mostrarMensajeServicio(placa, calle, carrera);
            if(pantallaTaxi.respuestaServicio()) //Si es true significa que aceptó
            {
                centralComunicaciones.asignarServicio(telefono, placa, hora, true);
                i=5;
            }
            else
            {
                if(i == 5)
                {
                    centralComunicaciones.incrementarServiciosNoAtendidos();
                    placa = null;
                }
                else
                {
                    i++;
                }
            }
        }
        return placa;
    }*/
}
